for _ in range(int(input())):
a=[int(i) for i in input().split()]
b=[int(i) for i in input().split()]
c=[]
if a[1]==1:
print("YES")
continue
for i in range(1,a[1]):
c.append(b[i]-b[i-1])
if c!=sorted(c,reverse=False):
print("NO")
continue
if c[0]*(a[0]-a[1]+1)>=b[0]:
print("YES")
else:
print("NO")
#include <bits/stdc++.h>
#define rep(i, a, n) for(int i=a; i<n ; i++)
#define ll long long
using namespace std;
void solve()
{
int n,k;
cin>>n>>k;
int a[k];
for(int i=0;i<k;i++){
cin>>a[i];
}
vector<int>v;
for(int i=k-1;i>0;i--){
int x=a[i]-a[i-1];
v.push_back(x);
}
int x=v[v.size()-1];
int space=n-k+1;
int x1=abs(a[0]);
int m= x1/space;
int l=x1%space;
if(a[0]<0){
// cout<<space<<" " <<x1<<endl;
while(space--){
v.push_back(-m);
}
int i=n-1;
while(l-- && i>=0){
v[i]-=1;
i--;
}
}
else{
int i=v.size();
while(space--){
v.push_back(m);
}
while(l-- && i<v.size()){
v[i]+=1;
i++;
}
}
reverse(v.begin(),v.end());
// for(auto x:v){
// cout<<x<<" ";
// }
for(int i=0;i<n-1;i++){
if(v[i+1]<v[i]){
cout<<"No"<<endl;
return;
}
}
cout<<"Yes";
cout<<endl;
}
int main(){
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int t;
cin>>t;
while(t--)
{
solve();
}
return 0;
}
1607C - Minimum Extraction | 1604B - XOR Specia-LIS-t |
1606B - Update Files | 1598B - Groups |
1602B - Divine Array | 1594B - Special Numbers |
1614A - Divan and a Store | 2085. Count Common Words With One Occurrence |
2089. Find Target Indices After Sorting Array | 2090. K Radius Subarray Averages |
2091. Removing Minimum and Maximum From Array | 6. Zigzag Conversion |
1612B - Special Permutation | 1481. Least Number of Unique Integers after K Removals |
1035. Uncrossed Lines | 328. Odd Even Linked List |
1219. Path with Maximum Gold | 1268. Search Suggestions System |
841. Keys and Rooms | 152. Maximum Product Subarray |
337. House Robber III | 869. Reordered Power of 2 |
1593C - Save More Mice | 1217. Minimum Cost to Move Chips to The Same Position |
347. Top K Frequent Elements | 1503. Last Moment Before All Ants Fall Out of a Plank |
430. Flatten a Multilevel Doubly Linked List | 1290. Convert Binary Number in a Linked List to Integer |
1525. Number of Good Ways to Split a String | 72. Edit Distance |